Eleventy 远程数据

Eleventy 支持在站点构建前,获取远程数据,使 Eleventy 成为内容管理系统的前端,从而构建出更为强大的站点。

这一点对我来说尤为重要,因为我希望打通 Eleventy 与 MongoDB,直接从 MongoDB 中获取数据。

远程数据功能的实现建立在《Eleventy 全局数据》数据的基础之上。概括来说,就是 JS 数据脚本,在内部以异步方式获取数据。示例 studio.js

const fetch = require('node-fetch');

module.exports = async () => {
  try {
    const res = await fetch(
      'https://11ty-from-scratch-content-feeds.piccalil.li/media.json'
    );
    const {items} = await res.json();

    return items;
  } catch (ex) {
    console.log(ex);
    return [];
  }
};

其中,使用 async/await 来加载数据。由于脚本的名称叫做 studio,那么在模板中,通过 studio 变量即可访问到此远程数据源中的所有数据了。


本文作者:Maeiee

本文链接:Eleventy 远程数据

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!